﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using libCombos;
using libConexionBD;
using libGrid;
using System.Web.UI.WebControls;

namespace LibCliente
{
    public class clsCliente
    {
        #region Atributos
        private DropDownList objCboCliente; 
        private GridView objGridCliente;        
        private String strCodigoClie;     
        private String strNombreClie;        
        private String strApellido1Clie;      
        private String strApellido2Clie;        
        private String strTelefonoClie;     
        private String strDireccionClie;
        private String strCodigoZona;
        private string strError;
        private string strsql;
        #endregion

        #region Propiedades
        public DropDownList CboCliente
        {
            get { return objCboCliente; }
            set { objCboCliente = value; }
        }
        public String Estado
        {
            get { return strCodigoZona; }
            set { strCodigoZona = value; }
        }
        public String DireccionClie
        {
            get { return strDireccionClie; }
            set { strDireccionClie = value; }
        }
        public String TelefonoClie
        {
            get { return strTelefonoClie; }
            set { strTelefonoClie = value; }
        }
        public String Apellido1Clie
        {
            get { return strApellido1Clie; }
            set { strApellido1Clie = value; }
        }
        public String Apellido2Clie
        {
            get { return strApellido2Clie; }
            set { strApellido2Clie = value; }
        }
        public String NombreClie
        {
            get { return strNombreClie; }
            set { strNombreClie = value; }
        }
        public GridView GridCliente
        {
            get { return objGridCliente; }
            set { objGridCliente = value; }
        }
        public String CodigoClie
        {
            get { return strCodigoClie; }
            set { strCodigoClie = value; }
        }
        public string Error
        {
            get { return strError; }
            set { strError = value; }
        }
        #endregion

        #region Metodos Publicos
        public bool Ingresar()
        {
            if (Validar())
            {
                clsConexionBD objConexionBD = new clsConexionBD();

                strsql = "Execute Cliente_Insert '" + strCodigoClie + "','" + strNombreClie + "','" + strApellido1Clie + "','" + strApellido2Clie + "','" + strTelefonoClie + "','" + strDireccionClie + "','" + strCodigoZona + "'";

                objConexionBD.SQL = strsql;
                if (objConexionBD.EjecutarSentencia(false))
                {
                    objConexionBD.CerrarConexion();
                    objConexionBD = null;
                    return true;
                }
                else
                {
                    strError = objConexionBD.Error;
                    objConexionBD.CerrarConexion();
                    objConexionBD = null;
                    return false;
                }

            }
            else
            {
                return false;
            }

        }
        public bool LlenarGrid()
        {
            if (objGridCliente == null)
            {
                strError = "No definio el Grid";
                return false;
            }
            clsGrid objGrid = new clsGrid();
            objGrid.SQL = "Execute Cliente_Grid ";
            objGrid.NombreTabla = "tblCliente";
            objGrid.gridGenerico = objGridCliente;

            if (objGrid.LlenarGridWeb())
            {
                objGrid = null;
                return true;
            }
            else
            {
                strError = objGrid.Error;
                objGrid = null;
                return false;
            }
        }
        public bool LlenarCombo()
        {
            clsCombos objCombo = new clsCombos();
            strsql = "Execute Cliente_Cbo";
            if (objCboCliente== null)
            {
                strError = "No definio el combo";
                return false;
            }
            objCombo.SQL = strsql;
            objCombo.cboGenericoWeb = objCboCliente;
            objCombo.NombreTabla = "tblCliente";
            objCombo.ColumnaTexto = "strNombre_CLIE";
            objCombo.ColumnaValor = "strCodigo_CLIE";

            if (objCombo.LlenarComboWeb())
            {
                objCboCliente= objCombo.cboGenericoWeb;
                objCombo = null;
                return true;
            }
            else
            {
                strError = objCombo.Error;
                objCombo = null;
                return false;
            }

        }
        public bool Consultar()
        {
            clsConexionBD objConexionBD = new clsConexionBD();
            strsql = " Execute Cliente_Select '" + strCodigoClie + "'";
            objConexionBD.SQL = strsql;

            if (objConexionBD.Consultar(false))
            {
                if (objConexionBD.Reader.HasRows)
                {
                    objConexionBD.Reader.Read();

                    strNombreClie= objConexionBD.Reader.GetString(0);
                    strApellido1Clie = objConexionBD.Reader.GetString(1);
                    strApellido2Clie = objConexionBD.Reader.GetString(2);
                    strTelefonoClie = objConexionBD.Reader.GetString(3);
                    strDireccionClie = objConexionBD.Reader.GetString(4);
                    strCodigoZona = objConexionBD.Reader.GetString(5);


                    return true;
                }
                else
                {
                    strError = "No hay datos";
                    objConexionBD.CerrarConexion();
                    objConexionBD = null;
                    return false;
                }
            }
            else
            {
                strError = objConexionBD.Error;
                objConexionBD = null;
                return false;
            }

        }
        #endregion Metodos Publicos

        #region Metodos Privados
        private bool Validar()
        {
            if (strCodigoClie == "")
            {
                strError = "Falta ingresar el Codigo";
                return false;
            }
          
            if (strNombreClie == "")
            {
                strError = "Falta ingresar el Nombre";
                return false;
            }
           

            if (strApellido1Clie == "")
            {
                strError = "Falta ingresar el Apellido1";
                return false;
            }
           

            if (strTelefonoClie == "")
            {
                strError = "Falta ingresar el Telefono";
                return false;
            }
          

            if (strDireccionClie == "")
            {
                strError = "Falta ingresar la Direccion";
                return false;
            }
            return true;


        }
        #endregion Metodos Privados
    }
}
